ExtJS এ Layout Configuration এবং Nesting Layouts দুটি গুরুত্বপূর্ণ কনসেপ্ট যা ইউজার ইন্টারফেসের কন্ট্রোল এবং কম্পোনেন্টগুলির অবস্থান নির্ধারণ করতে ব্যবহৃত হয়। এগুলি অ্যাপ্লিকেশনের বিভিন্ন UI উপাদানকে সঠিকভাবে সাজানো এবং ডাইনামিকভাবে অ্যাডজাস্ট করা সম্ভব করে।
Layout হল একটি কম্পোনেন্টের ভিতরের উপাদানগুলিকে সাজানোর পদ্ধতি। ExtJS তে বিভিন্ন ধরনের লেআউট আছে, যা আপনার অ্যাপ্লিকেশনের UI ডিজাইন অনুযায়ী ব্যবহার করা হয়। এর মাধ্যমে কম্পোনেন্টগুলির অবস্থান ও সাইজ নির্ধারণ করা যায়।
Ext.create('Ext.panel.Panel', {
title: 'Fit Layout Example',
width: 400,
height: 300,
layout: 'fit',
items: [{
xtype: 'panel',
html: 'This is a fit layout panel.',
bodyPadding: 10
}],
renderTo: Ext.getBody()
});
Ext.create('Ext.panel.Panel', {
title: 'Border Layout Example',
width: 600,
height: 400,
layout: 'border',
items: [{
region: 'north',
xtype: 'panel',
height: 50,
html: 'North Region'
}, {
region: 'west',
xtype: 'panel',
width: 200,
html: 'West Region'
}, {
region: 'center',
xtype: 'panel',
html: 'Center Region'
}],
renderTo: Ext.getBody()
});
Ext.create('Ext.panel.Panel', {
title: 'VBox Layout Example',
width: 400,
height: 300,
layout: {
type: 'vbox',
align: 'stretch' // stretch alignment
},
items: [{
xtype: 'panel',
title: 'Panel 1',
html: 'This is the first panel.',
flex: 1 // flex defines the space it will occupy
}, {
xtype: 'panel',
title: 'Panel 2',
html: 'This is the second panel.',
flex: 2 // this panel will occupy double space compared to Panel 1
}],
renderTo: Ext.getBody()
});
Nesting Layouts হল একাধিক লেআউট একে অপরের মধ্যে স্থাপন করা। এর মাধ্যমে একটি কমপ্লেক্স UI তৈরি করা যায় যেখানে একাধিক লেআউট একে অপরের মধ্যে অন্তর্ভুক্ত থাকে।
Ext.create('Ext.panel.Panel', {
title: 'Nesting Layout Example',
width: 600,
height: 400,
layout: 'border',
items: [{
region: 'north',
xtype: 'panel',
height: 50,
html: 'North Region'
}, {
region: 'west',
xtype: 'panel',
width: 200,
layout: 'vbox', // Nested Layout
items: [{
xtype: 'panel',
title: 'Panel 1',
html: 'This is the first nested panel.',
flex: 1
}, {
xtype: 'panel',
title: 'Panel 2',
html: 'This is the second nested panel.',
flex: 1
}]
}, {
region: 'center',
xtype: 'panel',
html: 'Center Region'
}],
renderTo: Ext.getBody()
});
এখানে, west
রিজনে একটি vbox
লেআউট ব্যবহার করা হয়েছে, যা দুটি প্যানেলকে ভার্টিকালি সাজায়। এর মাধ্যমে আপনি একাধিক লেআউট একে অপরের মধ্যে স্থাপন করতে পারেন, যা nesting layouts বলে পরিচিত।
এই কনফিগারেশনগুলির মাধ্যমে আপনি আরও কার্যকরী এবং ব্যবহারকারী-বান্ধব ইন্টারফেস তৈরি করতে পারেন, যা বিভিন্ন প্ল্যাটফর্মে স্বয়ংক্রিয়ভাবে সঠিকভাবে কাজ করবে।
Read more